Warning: mkdir(): No space left on device in /var/www/tg-me/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/orgprog/--): Failed to open stream: No such file or directory in /var/www/tg-me/post.php on line 50
Организованное программирование | Кирилл Мокевнин | Telegram Webview: orgprog/329 -
Telegram Group & Telegram Channel
ООП (неочевидные плюсы)

По следам последнего видео. У ООПшных языков, есть одна киллер фича и одно удобство, которые редко встречаются в других местах. Сейчас будет шок 🙂

Если у вас структура вызова сущность.метод, вы получаете автокомплит. Если у вас вызов функция(данные), то хрен вам, а не автокомплит. Как вам такое? Является ли это фишкой ооп? Вообще-то нет, да так совпало что в ооп это повсеместно, но это всего лишь вопрос синтаксиса языка. Зацените пример на go:


type User struct {
Name string
}

func (u *User) Greet() {
fmt.Println("Hello,", u.Name)
}

func main() {
user := &User{Name: "Kirill"}
user.Greet() // автокомплит: .Greet
}


И на nim


type User = object
name: string

proc greet(u: User) {.method.} =
echo "Hello, ", u.name

let user = User(name: "Kirill")
user.greet() # автокомплит есть


и rust через трейты:


struct User {
name: String,
}

// trait описан отдельно от User
trait Greet {
fn greet(&self);
}

impl Greet for User {
fn greet(&self) {
println!("Hello, {}", self.name);
}
}

fn main() {
let user = User { name: "Kirill".to_string() };
user.greet(); // автокомплит срабатывает!
}


Ну и аналог (хотя и через классы) это экстеншены в Swift, Kotlin и C#

Кстати это довольно интересно, многие ассоцириуют синтаксис сущность.метод() только с ООП, но как вы видите, это вообще не так.

p.s. А как вы думаете, какая вторая деталь, про которую я упомянул в начале поста ? 🙂

Ссылки: Телеграм | Youtube | VK



tg-me.com/orgprog/329
Create:
Last Update:

ООП (неочевидные плюсы)

По следам последнего видео. У ООПшных языков, есть одна киллер фича и одно удобство, которые редко встречаются в других местах. Сейчас будет шок 🙂

Если у вас структура вызова сущность.метод, вы получаете автокомплит. Если у вас вызов функция(данные), то хрен вам, а не автокомплит. Как вам такое? Является ли это фишкой ооп? Вообще-то нет, да так совпало что в ооп это повсеместно, но это всего лишь вопрос синтаксиса языка. Зацените пример на go:


type User struct {
Name string
}

func (u *User) Greet() {
fmt.Println("Hello,", u.Name)
}

func main() {
user := &User{Name: "Kirill"}
user.Greet() // автокомплит: .Greet
}


И на nim


type User = object
name: string

proc greet(u: User) {.method.} =
echo "Hello, ", u.name

let user = User(name: "Kirill")
user.greet() # автокомплит есть


и rust через трейты:


struct User {
name: String,
}

// trait описан отдельно от User
trait Greet {
fn greet(&self);
}

impl Greet for User {
fn greet(&self) {
println!("Hello, {}", self.name);
}
}

fn main() {
let user = User { name: "Kirill".to_string() };
user.greet(); // автокомплит срабатывает!
}


Ну и аналог (хотя и через классы) это экстеншены в Swift, Kotlin и C#

Кстати это довольно интересно, многие ассоцириуют синтаксис сущность.метод() только с ООП, но как вы видите, это вообще не так.

p.s. А как вы думаете, какая вторая деталь, про которую я упомянул в начале поста ? 🙂

Ссылки: Телеграм | Youtube | VK

BY Организованное программирование | Кирилл Мокевнин




Share with your friend now:
tg-me.com/orgprog/329

View MORE
Open in Telegram


Организованное программирование | Кирилл Мокевнин Telegram | DID YOU KNOW?

Date: |

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

What is Secret Chats of Telegram

Secret Chats are one of the service’s additional security features; it allows messages to be sent with client-to-client encryption. This setup means that, unlike regular messages, these secret messages can only be accessed from the device’s that initiated and accepted the chat. Additionally, Telegram notes that secret chats leave no trace on the company’s services and offer a self-destruct timer.

Организованное программирование | Кирилл Мокевнин from sg


Telegram Организованное программирование | Кирилл Мокевнин
FROM USA